package com.boarsoft.boar.label;

import java.util.List;

import com.boarsoft.boar.entity.ObjLabel;
import com.boarsoft.common.dao.PagedResult;

public interface ObjLabelBiz {
	/**
	 *
	 * @param objId
	 * @param objType
	 * @param key
	 * @param value
	 * @return
	 */
	List<ObjLabel> list(String objId, Integer objType, String key, String value);

	/**
	 * 
	 * @param objType
	 * @param key
	 * @param value
	 * @return
	 */
	List<ObjLabel> list(Integer objType, String key, String value);

	void save(ObjLabel o);

	ObjLabel get(String id);

	void delete(String objId, String objType);

	void delete(String ids);

	PagedResult<ObjLabel> list(String objId, Integer objType, String key, String orderBy, int pageNo, int pageSize);

	/**
	 * 查找具备指定标签（键值对）的指定类型的对象
	 * 
	 * @param objType
	 * @param key
	 * @param value
	 * @return
	 */
	ObjLabel find(Integer objType, String key, String value);

	/**
	 * 返回指定对象的指定标签
	 * 
	 * @param objId
	 * @param key
	 * @param objType
	 *            可选
	 * @return
	 */
	ObjLabel find(String objId, String key, Integer objType);
}